1. Field of the Invention
This invention relates to the field of H.323 multimedia conferencing. In particular, the invention relates to improvements for scaling H.323 systems.
2. Description of the Related Art
The International Telecommunications Union (ITU) has promulgated a number of different standards for telecommunications. The telecommunications standardization sector is referred to as the ITU-T. One of the standards developed by the ITU-T is the H.323 standard for video, or multimedia, conferencing. The H.323 standard uses other ITU-T standards for encoding and decoding the audio, video, data, and control information.
There are three primary types of devices in the H.323 standard: H.323 terminals, H.323 gateways, and H.323 gatekeepers. The terminals are multimedia terminals such as personal computers coupled to a local area network (LAN). The H.323 gateways allow the interconnection of other systems with an H.323 network. For example an H.323 gateway could interconnect plain old telephone service (POTS) with an H.323 network. The gateways can also allow separate networks of H.323 devices to be bridged. The H.323 gatekeeper provides authentication, address query resolution, and other services for devices. Additionally, the H.323 standard supports an additional type of device, a H.323 multipoint control units (MCUs). A H.323 MCU supports conference calls and other features.
One application of the H.323 standard is to replace circuit switched services with packet switched services. Plain old telephone service (POTS) is an example of a circuit switched network. Each POTS call requires a dedicated circuit from end to end throughout the public switched telephone network (PSTN). By placing H.323 gateways and gatekeepers in telephone central office switching systems it is possible to carry a call over a packet switched network from central office to central office.
Consider the following example, both the central office serving a POTS line in San Francisco and the central office serving the call destination in Washington, D.C., have H.323 equipment. It is possible for the call to be completed as follows. The caller picks up her/his telephone in San Francisco. In the central office in San Francisco, the call comes into a central office switch. An H.323 gateway in the central office can receive the time division multiplexed (TDM) signal from the central office switch in any of a number of standard formats, such as, a T1 line. The H.323 gateways convert the voice channels in the T1 line into the H.323 audio standard format, G.711. The TDM signals have now been packetized for transmission across a packet switched network.
Each H.323 gateway has a limited number of H.323 ports, or ports. The number of ports corresponds to the number of simultaneous calls a particular H.323 gateway can handle. For example, if an H.323 gateway is coupled to the central office switch by a T1 line, then only twenty-four voice channels can go through the gateway at a time.
The other component of carrying circuit switched calls over a packet switched network using H.323 is the address lookup and channel setup process. Each H.323 gateway is managed by at least one H.323 gatekeeper. A single H.323 gatekeeper may manage multiple H.323 gateways. The H.323 gatekeeper provides a variety of services to the H.323 gateways it manages aside from answering address query requests. The H.323 gatekeeper services include registration, authentication, status, and billing. The local H.323 gatekeeper sends an address query to the remote H.323 gatekeeper. In the example, the San Francisco gatekeeper would ask the Washington gatekeeper for a port address. The Washington gatekeeper responds with a port address. For example, if the Washington gatekeeper manages a single H.323 gateway with sixteen ports, then the port address will correspond to one of the sixteen ports on that H.323 gateway.
A port address is the Internet protocol (IP) address of an H.323 gateway together with the IP port address one of the H.323 ports on that gateway. The port address can be written in a standard format for specifying an IP address and a port such as: 192.168.168.100:2000, which stands for IP address 192.168.168.100 at port 2000.
The response from the Washington gatekeeper would travel back to the San Francisco gatekeeper and then to the gateway handling the call. At this point, the gateway in San Francisco would send a call setup request to the port address in Washington. If the port on the Washington gateway is still available, it will acknowledge the request. It is possible that an outgoing call from the Washington central office could start to use the port before the call setup request was received. In that case, the call setup would fail and a new port would have to be requested.
Assuming the port is still free and acknowledges the call setup, a logical channel zero (LCO) is opened between the San Francisco gateway port and the Washington gateway port. Next, capabilities negotiation takes place. Once the capabilities have been determined, two additional logical channels are opened. The first channel, LCAB, is for voice packets from A to B. The second channel, LCBA, is for voice packets from B to A. In this example, LCAB would be for packets from San Francisco to Washington and LCBA would be for packets from Washington to San Francisco. The phone in Washington is then rung. Once the phone in Washington is lifted off the hook, the two parties can communicate as they normally do. When the handsets of the phones are replaced on the hooks, the H.323 channel and call teardown process ensues.
A single central office switching system might include several racks of H.323 equipment. Each rack might include on the order of a thousand ports. With multiple racks in a single central office, a single gatekeeper might need to manage several thousand ports. It may be difficult for the H.323 gatekeeper to accurately and quickly monitor port status given this number of ports.
Additionally, between the time that the remote gatekeeper provides a port address, and the time that the call setup request is made, the port can become busy. In the example, the Washington gatekeeper provided a port address of 192.168.168.100:2000. It is possible for a phone in Washington to be lifted off the hook and get allocated to that same port prior to the call setup request from San Francisco. Then, when the San Francisco gateway sends the call setup request, the port will already be in use by the outgoing call.
If the prior art techniques are used, it is not possible to guarantee that a port provided in response to an address query request will still be available by the time call setup takes place. Therefore, it is desirable to have a method that will ensure that a port is still available when the call setup request is made. If the prior art techniques are used, the gatekeeper may have a large number of ports to monitor usage on. Therefore, it is desirable to have a method that will allow the port status information to be managed separate from the gatekeeper functions to provide better scalability.
An H.323 system can be improved according to some embodiments of the invention. The improvements allow H.323 systems to scale to include more ports and adds the ability to busy, or reserve, ports. In one embodiment, the port is busied after the address query request to the gatekeeper. Once busied, the port can not be used by a different call, incoming or outgoing, until it is released or times out.
In some embodiments, the port is busied before responding to the address query request. In this embodiment, the response to the address query request includes the port address of a busy port.
In some embodiments, a virtual port address is given in response to an address query request. This allows the system to delay making a port busy until a call setup request is received on the virtual port. In this embodiment, the response to the address query includes the address of the virtual port. The virtual port does not have to correspond directly to any particular H.323 port in the system. When a call setup request is received at the virtual port, one of the H.323 ports busied. In the acknowledgement of the call setup, a substitution of the address of the busy port is made for the virtual port address. This substitution causes further H.323 communications to be directed to the busy port rather than the virtual port.
Some embodiments include computer programs that provide a virtual gateway. The virtual gateway programs can reserve ports and supports the substitution of the port addresses in call setup acknowledgements. The virtual gateway programs can also monitor the status of a number H.323 ports. This allows a single gatekeeper to handle a larger number of ports, such as in a telephone central office.
Some embodiments include storing port status information on the virtual gateway. This relieves the gatekeeper of the need to poll gateways for port status information.